# Turbo Crown — Catalog Studio 0.63.0

## Edición uniforme — 0.63.0 (Apple Silicon)

- Deshacer / Rehacer visibles en autos, interiores, equipamiento y artículos. Cmd/Ctrl + Z y Cmd/Ctrl + Shift + Z; cada arrastre constituye un paso. Guardar conserva el historial de la sesión; una edición nueva descarta la rama de rehacer. Los datos del auto también entran en el historial. Abrir otro artículo o recuperar del servidor establece un nuevo historial.
- Guardado por artículo: cambios locales, guardando con spinner, guardado compartido verificado o error con Reintentar guardado. Los errores de conexión conservan el editor visible; los conflictos de versiones siguen abriendo la comparación. Publicar continúa siendo una acción separada.
- Unidades en parámetros, +/− con pasos y límites, ayuda/rango al escribir valores de artículos y ayuda contextual en autos. Los parámetros avanzados de los artículos conservan su sección desplegable; los autos mantienen grupos plegables.
- Artículos y equipamiento incorporan el selector de vistas Frontal ¾ / Lateral / Trasera ¾ / Superior / Encuadrar. La luz Juego / Estudio y las instrucciones de cámara son comunes. Encuadrar conserva la orientación; Pausar/Reproducir y Reiniciar permiten revisar los elementos animados. La órbita del auto usa coordenadas lógicas como los demás visores.
- Pruebas: `--workflow-test`, `--self-test`, `--article-test`, `--authoring-sync-test` y `--navigation-smoke --capture /tmp/editor.png`. Servicios simulados y datos temporales; no publican contenido real.

## Buscar, filtrar y ordenar — 0.62.0 (Apple Silicon)

- Estado y orden abren selectores con opciones visibles. Navegar o cancelar conserva los resultados; elegir aplica la opción y vuelve a la primera página.
- Los filtros incluyen un contador de artículos de la categoría y búsqueda actuales. Se aclara que un artículo puede pertenecer a varios grupos (por ejemplo, cambios locales y problemas de contenido).
- Orden por nombre A-Z/Z-A o por precio menor/mayor. Los artículos sin precio quedan al final y los empates mantienen un orden estable.
- La selección de orden conserva los filtros y la búsqueda. Limpiar filtros conserva el orden elegido.
- Consultar los filtros no accede al servidor ni modifica artículos.

## Comparación y recuperación — 0.61.0 (Apple Silicon)

- Si otro editor cambió el mismo borrador, se muestran los campos diferentes entre tu copia y el servidor, con sus revisiones. No se sobrescribe ni se combina automáticamente.
- Desde las acciones del artículo: **Comparar / recuperar**. Consultar un artículo pide únicamente su borrador.
- **Conservar y volver** mantiene tu trabajo; **Conservar copia y recuperar** crea un artículo local nuevo en estado Borrador y recupera el original compartido; **Recuperar compartido** respalda y reemplaza tu copia.
- La recuperación exige confirmación, vuelve a comprobar la revisión y verifica los recursos antes de reemplazar documentos. Los respaldos quedan en `catalog/backups`. No modifica el servidor ni publica.
- El catálogo identifica los conflictos detectados y permite filtrarlos. Un cambio local sin cambios remotos no se marca como conflicto.

## Estados y publicación — 0.60.0 (Apple Silicon)

- El catálogo distingue cambios locales, problemas de contenido, borradores preparados para revisión y documentos que coinciden con la última publicación consultada. La marca editorial pasa a llamarse **Incluir en publicación**: no equivale a una validación aprobada.
- F7 / Publicación abre una pantalla independiente de Cuenta. Consulta los borradores compartidos, compara sus versiones públicas y muestra artículos nuevos, actualizaciones y problemas que permiten abrir el artículo afectado.
- Los contadores de guardado y los estados editoriales no producen falsas actualizaciones. Si el contenido seleccionado ya está publicado no se habilita otra publicación idéntica.
- Continuar abre una confirmación explícita. Los problemas bloquean la publicación; se mantienen los controles de versiones para cambios concurrentes. Al finalizar se muestra qué artículos se entregaron al juego.
- F8 conserva sesión, actualización y recuperación del catálogo. Las pruebas usan servicios simulados y espacios temporales; esta actualización no publica el catálogo real.

## Íconos Lucide — 0.59.0 (Apple Silicon)

- Juego y editor comparten los SVG oficiales de Lucide preparados en un atlas de alta resolución, con bordes suavizados y grosor uniforme. Los botones de regreso usan una flecha en lugar del carácter `<`.
- Los modos tienen símbolos distintos: corona en Persecución, usuarios en Equipos, espadas en Todos contra todos, capas en Ruptura y reloj en práctica cronometrada.
- Los SVG y su versión están en `content/icons/lucide`; `tools/build-ui-icons.cjs` regenera el atlas sin conexión usando Node y sharp. La licencia se incluye en ambas apps.

## Sonido de salto — 0.58.3 (Apple Silicon)

- El salto y doble salto usan un golpe seco, breve y grave, sin el barrido tonal del efecto anterior. Comparte el sonido actualizado con el juego.

## Audio de movimiento — 0.58.2 (Apple Silicon)

- Probar auto reproduce el salto y los golpes contra el piso, paredes, objetos y otros autos, con intensidad según la velocidad del contacto y un intervalo mínimo entre golpes.
- El audio del editor ya no hereda el silencio ni los volúmenes del juego. Se conservan las preferencias de sensibilidad del mouse.

## Cierre desde el catálogo — 0.58.1 (Apple Silicon)

- El editor de autos ya no muestra la X para cerrar la aplicación ni la incluye en la navegación con teclado/mando. El cierre sigue disponible en el home del catálogo.

## Luz de juego y de estudio — 0.58.0 (Apple Silicon)

- Juego es la luz predeterminada: comparte el perfil del garage y de los autos en los mapas. Los visores no aplican niebla de distancia.
- El selector Luz / Juego / Estudio aparece en el visor de autos, chasis e interiores, equipamiento, artículos 3D y Probar auto. La tecla L alterna ambos perfiles cuando no se está escribiendo ni hay un diálogo abierto.
- La elección se conserva al navegar entre herramientas durante la sesión; no modifica materiales ni ensucia borradores. Al iniciar el editor vuelve a Juego.
- La pista de calibración conserva sus obstáculos, rampas y pruebas, ahora con iluminación de superficies que responde al selector junto al auto.
- Las nuevas miniaturas usan siempre luz de juego, independientemente de la luz elegida para inspeccionar.

## Transparencia del visor — 0.57.1 (Apple Silicon)

- La opacidad de la carrocería usa la superficie más cercana a la cámara: las caras opuestas ya no se superponen con la misma intensidad ni invierten visualmente la orientación.
- La mezcla respeta el porcentaje del deslizador sin aplicar la opacidad dos veces, evitando que el modelo se oscurezca de más.
- Las piezas interiores se dibujan antes de la carrocería translúcida para poder inspeccionarlas; las que sobresalen conservan su posición por delante. No modifica los materiales guardados ni el render opaco del juego.
- Prueba gráfica de profundidad al 20%, 70% y 100%, desde ambos lados y con distintos órdenes de triángulos/materiales.

## Interfaz de chasis e interiores — 0.57.0 (Apple Silicon)

- Visor despejado y panel derecho único: lista de piezas con nombre, muestra de color, selección y visibilidad. Scroll suave hasta 16 piezas, sin mover la cámara; el teclado revela la fila enfocada.
- Posición, tamaño y rotación se organizan en pestañas con ejes X/Y/Z coloreados. Los deslizadores se adaptan al tamaño del auto; los campos mantienen su rango completo. Botones +/− y flechas permiten pasos pequeños, con Shift para mayor precisión.
- Normal / Ver interior y opacidad continua controlan la carrocería; las cajas conservan su opacidad para inspeccionarlas. Se pueden ocultar las ruedas o las guías, enfocar la pieza elegida y volver a encuadrar el auto.
- Paleta de colores mate y entrada hexadecimal. Validación junto al panel, selección de texto al editar y Tab recorre solo los campos visibles.
- Guardar borrador y Deshacer permanecen arriba. Eliminar es reversible; un arrastre de slider se deshace en un único paso. Volver al auto restaura la opacidad y visibilidad del visor principal.
- Verificado con navegación gráfica, entradas inválidas, edición precisa, selección y scroll recortados, 16 piezas, visibilidad, deshacer y guardado/recarga en workspace temporal.

## Chasis e interiores — 0.56.0 (Apple Silicon)

- En el editor de autos, **Chasis e interiores** abre el visor con carrocería translúcida y una lista de cajas visuales.
- Podés agregar hasta 16 cajas, elegirlas, cambiar nombre, color hexadecimal, posición, tamaño, rotación y visibilidad; duplicarlas o reflejarlas al otro lado. Los números se pueden escribir o ajustar con la barra. La vista conserva órbita, desplazamiento y zoom.
- Blue Flames, Red Fury y Super Muscle recuperan sus cajas del perfil anterior. El visor y el juego actualizado reemplazan la copia fija incluida en la malla por la versión editable, de modo que no se dibuje dos veces.
- Guardar conserva las cajas en el borrador del auto y regenera su miniatura. Las cajas son visuales y no cambian los colliders.

## Comparación visual de autos — 0.55.0 (Apple Silicon)

- Comparar auto abre tarjetas con miniaturas, búsqueda por nombre o ID y páginas de ocho autos.
- Elegí una tarjeta y el modo, y confirmá con Comparar. Cancelar conserva la comparación anterior.
- Al costado muestra la referencia opaca con sus ruedas, separada según las dimensiones reales; Superpuesto mantiene la carrocería de referencia transparente en el mismo origen.
- Ambos modos conservan la escala y la altura originales. La cámara encuadra los dos autos sin modificar su calibración.
- La barra del visor permite cambiar de modo o quitar la referencia. Flechas recorren tarjetas; Tab cambia de control; Enter confirma y Esc cancela.

## Apertura y reintento desde el catálogo — 0.54.0 (Apple Silicon)

- Abrir, guardar, descartar o preparar la publicación de un solo artículo consulta ese ID en el servidor. Actualizar todo el catálogo conserva su consulta paginada.
- Un artículo que ya coincide con el servidor no se vuelve a escribir ni provoca una recarga previa del visor; se siguen verificando y reparando sus recursos y respetando los cambios locales y los conflictos de edición.
- Al abrir, el indicador aparece en la fila seleccionada y conserva visibles nombre, miniatura y catálogo. Las acciones esperan a que termine la consulta.
- Si la consulta falla, la fila muestra el error y un botón Reintentar; no navega a Cuenta y publicación ni borra cambios.

## Apertura de artículos — 0.53.1 (Apple Silicon)

- La consulta del borrador al abrir autos y artículos muestra la carga dentro del catálogo, sin navegar a Cuenta y publicación.
- La actualización inicial utiliza el mismo indicador. Los errores quedan en el catálogo y conservan los cambios locales.

## Editores de artículos unificados — 0.53.0 (Apple Silicon)

- Cabecera fija con nombre editable, estado del borrador y Guardar; visor amplio e inspector a la derecha para las nueve categorías.
- Importar, duplicar y crear juntos sobre el visor; la base de un artículo nuevo queda identificada.
- Reproducir/pausar, reiniciar, ver en auto, escuchar y encuadrar comparten posición; solo aparecen cuando corresponden.
- Ruedas, nitros y motores utilizan la misma simulación visual que Equipamiento: giro de ruedas, vibración y estela en movimiento. Las miniaturas de piezas siguen mostrando la pieza aunque el visor tenga un auto de referencia.
- Parámetros habituales primero; Mostrar avanzado conserva acceso a orientación, física de partículas, síntesis y protección de materiales.
- Sonidos contextualizados: Derrape, Disparo y Aparición. Solo los motores muestran parámetros de RPM; los WAV y sonidos vinculados ocultan los ajustes de síntesis que no se utilizan.
- Forma de partícula, mezcla y forma de onda se eligen por nombre.
- Volver al catálogo conserva categoría, búsqueda, filtro, orden y página (ajustada si ya no existe).

## Navegación y edición — 0.52.0 (Apple Silicon)

- Categorías con contadores siempre visibles; se conserva el selector como acceso alternativo.
- Lista más amplia: nombre, precio y estado editorial separados del estado del borrador.
- Cabecera del auto con nombre, Guardar borrador y Probar auto; herramientas reunidas sobre el visor.
- Inspector compacto: acceso directo a secciones y menos información repetida.
- Guardar conserva el visor mientras se completa la operación; las acciones se bloquean durante el envío. Si falla, se muestra el error y se conserva el respaldo local.
- F7 permite pasar de la revisión local a preparar la versión compartida. Publicar sigue requiriendo revisar y confirmar; guardar un borrador no publica.

## Borradores compartidos — 0.51.0 (Apple Silicon)

- **Guardar borrador** genera la miniatura y guarda solo ese artículo en Supabase.
  La copia local de recuperación se conserva si falla la conexión. Guardar nunca publica.
- Al iniciar sesión y abrir un artículo se consulta el catálogo compartido. Si hay
  trabajo local diferente, se conserva y se indica **Cambios locales respaldados**.
- **Descartar** en el editor (o en `…` del artículo) recupera el último borrador
  compartido, con confirmación y respaldo previo en `catalog/backups/`.
- F8 → **Descartar cambios locales** recupera todo el espacio compartido. Los
  artículos que solo existían en esta Mac también se apartan al respaldo. Primero
  se descargan/verifican los recursos; una falla de red no borra los documentos locales.
- `…` → **Publicar artículo** revisa la versión compartida de ese artículo.
  F8 → **Revisar publicación** prepara los artículos compartidos marcados Listo.
  **Confirmar publicación** entrega la instantánea revisada al juego. Las recuperaciones
  locales no entran en la publicación. Si cambió una revisión antes de confirmar, se
  exige preparar otra vez; la publicación conserva además su control de versión global.
- Dos autores conservan la revisión de origen: el segundo guardado sobre una revisión
  antigua se rechaza. Puede volver al catálogo, duplicar sus cambios o descartar para
  recuperar la versión compartida. No hay mezcla automática de campos.
- Se conserva la API antigua de sincronización para herramientas/pruebas existentes,
  pero la interfaz ya no requiere Subir/Recibir borradores.
- Al actualizar no se descarta automáticamente ningún trabajo previo. Las copias
  antiguas sin registro de origen deben recuperarse o duplicarse antes de guardarlas
  sobre un artículo compartido diferente.

Prueba aislada: `--authoring-sync-test` (dos espacios de trabajo, transporte ficticio,
sin acceso a cuentas reales). Esta versión solo se compila y prueba para Apple Silicon.

## Ícono propio — 0.50.12

Corona dorada con herramienta cian para distinguir el editor del juego.
El paquete macOS incluye el ICNS para Finder y el ejecutable incorpora
`Icon.bmp` para que MonoGame use el mismo diseño en la ventana y el Dock.
Los formatos se regeneran desde el PNG maestro con
`python3 monogame/tools/build-editor-icon.py`.

## Ondas de explosión con volumen — 0.50.11

Las capas de anillo usan una pared cilíndrica translúcida con desvanecimiento
vertical, compartida con el juego. Se conservan colores, tamaños, duración y
curvas del artículo; no requiere modificar ni volver a publicar el catálogo.

## Pista con efectos de conducción — 0.50.10

«Probar auto» comparte el polvo de ruedas, aterrizajes y balanceo visual con el
juego. No altera el borrador, el collider ni la física del vehículo.

## Referencia de tamaño para explosiones — 0.50.9

En Equipo de fábrica → Explosiones, Mostrar auto / Ocultar auto alterna el auto
equipado, a su escala calibrada, junto a la explosión. El botón conserva el
encuadre y la reproducción, y no modifica el borrador ni el efecto. El encuadre
se mantiene referido al auto al cambiar de explosión; el zoom manual permite
inspeccionar la expansión completa.

## Movimiento de las vistas de equipamiento — 0.50.8

Ruedas, motor y nitro añaden una vibración leve de la carrocería al reproducirse;
las ruedas conservan su apoyo y la calibración no se modifica. El rastro del
nitro se desplaza hacia atrás según la velocidad simulada, como si la cámara
acompañase al auto. El encuadre usa solo el auto: cambiar de nitro conserva la
cámara, incluido el zoom y desplazamiento elegidos. Encuadrar vuelve al auto,
sin alejarlo para incluir todas las partículas.

## Probar auto con equipamiento — 0.50.7

La pista carga el borrador actual con sus piezas de fábrica y montajes. Permite
disparar (click / LB-RB), usar nitro (Shift / B) y probar explosión y lápida (K),
con las mallas, partículas y sonidos del catálogo. R reinicia también efectos y
sonidos; Esc vuelve al editor sin guardar ni publicar. El collider respeta su
visibilidad en el calibrador. `--smoke` comprueba conducción, disparos, nitro,
eliminación, reinicio y conservación del borrador.

## Pruebas del equipo de fábrica — 0.50.6

Cada categoría muestra su artículo: ruedas sobre el auto con giro opcional;
cañón montado; lápida sola; proyectil solo con giro, estela y sonido al reproducir;
nitro sobre el auto con ruedas en movimiento; explosión en bucle; motor con
aceleración, ruedas y tono de audio sincronizados. Nitro y explosión arrancan al
seleccionarlos. Reproducir/Detener controla las vistas animadas. Los sonidos salen
del equipamiento compilado, incluidas las referencias a sonidos del catálogo.
Cambiar de pieza/categoría, salir o perder el foco corta la reproducción anterior.
Las pruebas usan una simulación visual independiente y nunca conducen ni modifican
el auto calibrado. `--equipment-test` y `--smoke` cubren las siete categorías.

## Visor de equipamiento del auto — 0.50.5

El equipo de fábrica usa la cámara orbital completa de los artículos: arrastre
izquierdo para girar en dos ejes, derecho para desplazar y rueda/trackpad para
zoom suave. Encuadrar restaura el centro y la distancia. Los gestos empiezan en
el visor; buscar/elegir piezas y perder el foco no arrastran la cámara. La cámara
del calibrador y los valores del auto se conservan al entrar y volver.
Verificado con `--motion-test` y el recorrido `--smoke` en workspace temporal.

El visor comparte la nueva iluminación y respuesta de materiales del juego 0.52;
los valores guardados de pintura no cambian.

## Guardado y publicación (0.50.3)

Guardar conserva artículos, miniaturas y calibraciones en el editor. El juego ya
no lee ese espacio: los cambios llegan mediante una publicación nativa descargada.
«Listo para publicar» tampoco los hace visibles por sí solo. Usá F7 para revisar y
F8 → Revisar publicación → Confirmar publicación. Guardar borrador comparte el
artículo con el equipo, sin publicarlo. El juego mantiene la última publicación para uso sin conexión y conserva
el catálogo base distribuido cuando todavía no se descargó ninguna.

Aplicación independiente del juego, en C#/MonoGame. Abrí `../Editor.command`
o la aplicación **Turbo Crown Editor Apple Silicon.app**. Esta entrega se compila
y prueba exclusivamente en macOS ARM. Conserva Retina nativa, MSAA 4× y fuentes
128 px. No requiere Three.js, Node, navegador ni un editor externo.

## Visores de artículos (0.50.2)

Arrastrar con botón izquierdo gira horizontal y verticalmente; botón derecho
mueve el encuadre y rueda/trackpad controla el zoom suave. «Encuadrar» restablece
la vista. Los gestos solo nacen en el visor, se cancelan al perder el foco y no
se mezclan con sliders, scroll ni formularios. Cambiar valores conserva la cámara;
cambiar artículo la restablece. Las miniaturas usan una cámara estable independiente
del zoom/desplazamiento de edición.

La vista del auto en artículos y equipo de fábrica usa la sombra suave del estudio,
sin la caja opaca provisional. Verificados giro, desplazamiento, límites, encuadre,
miniaturas y recorrido GPU de las nueve categorías, solo ARM y con workspace temporal.

## Mouse y foco (0.50.1)

Mouse relativo al contenido de la ventana, compartido con el juego. No recibe
clics, teclado, mando ni scroll mientras está inactivo. Al volver, los controles
retenidos deben soltarse antes de actuar. Los clics breves entre fotogramas se
conservan mediante los eventos SDL de esta ventana.

## Calibrador de vehículos (0.50)

El inspector usa controles de una columna, con números y deslizadores más grandes.
«Ir a» permite saltar a Carrocería, Pintura, Eje delantero, Eje trasero, Montajes
o Collider; cada sección conserva su acordeón y el desplazamiento suave.
Rareza, estado y adquisición usan listas explícitas dentro del formulario del auto.
Cancelar descarta los cambios del formulario; Aplicar los incorpora al borrador.
Tab/flechas recorren los controles y Enter activa el control enfocado. Archivar tiene
su propia confirmación, con Seguir editando como primera opción.
Comparar tamaño permite elegir el auto de referencia o quitar la comparación.
El acabado Original atenúa los parámetros de pintura; elegí Del juego o Personalizado
para habilitarlos.

## Interfaz y flujos (0.49)

Las pestañas usan nombres completos; las acciones de importar, crear y duplicar
se agrupan a la izquierda, la previsualización en el centro y Guardar a la derecha.
Los selectores muestran opciones y el valor actual: acabado, material, plantilla,
rareza, estado, adquisición, vínculos y capas/diseños de efectos. Escape/B o
Cancelar cierra sin modificar datos. Los campos editables tienen Aplicar/Cancelar
y el inspector de artículos incorpora una barra de desplazamiento arrastrable.

El criterio común para editor y juego está en `../docs/UI_DESIGN.md`.

## Apertura y permisos del Llavero

`Editor.command`, `Calibrador.command` y Finder abren ahora el mismo `.app`
empaquetado. Sin argumentos, el lanzador reutiliza la aplicación abierta.
Con argumentos ejecuta ese mismo binario en primer plano para las herramientas
y pruebas. `TC_EDITOR_DEVELOPMENT=1 ./monogame/Editor.command ...` permite probar
explícitamente el binario recién compilado sin empaquetar.

El empaquetado selecciona el único certificado **Developer ID Application**
disponible y conserva el identificador del bundle. También permite elegirlo con
`--sign-identity` o `TC_EDITOR_SIGN_IDENTITY`. Si no está disponible, se detiene
antes de reemplazar el paquete; no cambia silenciosamente a una firma temporal.
La opción explícita `--sign-identity -` sirve sólo para desarrollo ad hoc.
Firmar no equivale a notarizar: este proceso no envía la app a notarización.

La firma anterior era ad hoc: su identidad dependía del contenido del ejecutable
y cambiaba al recompilar. Además, el lanzador usaba una copia distinta del `.app`.
Al pasar a la firma estable, macOS puede solicitar autorización una última vez.
«Permitir siempre» debería persistir entre actualizaciones con el mismo
certificado e identificador; un llavero bloqueado o un cambio de certificado
pueden requerir autorización nuevamente. Se sigue guardando sólo el token
renovable en el Llavero; no se cambian sus permisos ni se exportan credenciales.

## Espera de inicio de sesión (0.48.1)

Durante el ingreso, recuperación de sesión y registro se bloquean los campos,
el cambio de formulario y los envíos repetidos. Los controles se atenúan y el
botón principal muestra un spinner animado con la operación en curso. Un fallo
habilita nuevamente el formulario y muestra el error. Se mantiene la pantalla
de acceso hasta que termine la operación. Verificado con `--session-test` y
`--cloud-smoke` contra un servicio simulado, sin credenciales reales.

## Acabados por artículo (0.48 · ARM)

Autos, ruedas, cañones, lápidas y proyectiles pueden conservar sus materiales,
usar el **acabado del juego** o un **acabado personalizado**. El perfil común usa
metalizado 0,15 y rugosidad 0,45. Importaciones nuevas lo usan por defecto; los
artículos existentes mantienen su apariencia hasta cambiar de perfil.
En el auto, el selector de acabado ofrece Original / Del juego / Personalizado.
Modificar metalizado o rugosidad elige Personalizado automáticamente.

Los artículos con modelo tienen una pestaña **Pintura** con el perfil, tinte RGB,
metalizado, rugosidad y **Heredar color**. Esta opción multiplica el tinte del ítem
por el RGB configurado en el auto (cuando su acabado está activo); no extrae el
color de una textura ni copia su brillo. Desactivada, cada pieza conserva su color.
Los controles de pintura actualizan la vista durante el arrastre.

**Material a proteger** permite elegir una parte importada y aislarla.
Se puede alternar entre verla sola o ver todas, y activar **Conservar original**
para excluirla del acabado y del color heredado. Los materiales transparentes se
conservan automáticamente en los accesorios. Esto permite proteger goma, vidrios
o luces cuando el modelo los trae separados; no segmenta una textura única.

Los parámetros se guardan en el borrador, artículo y publicación nativa. La
geometría no incorpora el tinte: el mismo renderizador lo aplica en el editor,
miniaturas y juego. Nitros, explosiones y audio mantienen sus parámetros propios.
No se publicó ni se modificó en bloque el catálogo existente.

Validación: `--item-paint-test`, `--article-test`, `--paint-smoke`. Incluye píxeles
idénticos para piezas independientes al cambiar la pintura del auto, herencia de
tinte, materiales protegidos, deshacer, guardado y manifiesto de publicación.

## Corrección de acabado (0.47.1 · ARM)

**Aplicar acabado** ahora es un interruptor Activado/Desactivado. Al activarlo,
la carrocería recibe iluminación aunque el GLB haya sido importado como `unlit`
o con una textura shaded. Antes el tinte RGB cambiaba, pero BasicEffect ignoraba
metalizado y rugosidad en esas mallas. Desactivado conserva el material original.
El renderizador es compartido con el juego. No modifica los archivos del catálogo.

Validación `--paint-smoke`: compara píxeles renderizados de un auto unlit con
metalizado 0/1, rugosidad baja/alta, color y acabado apagado; verifica el interruptor
y la serialización en un workspace temporal. Este arreglo conserva el acabado
básico actual; clearcoat, reflejos del entorno y los demás parámetros del panel
anterior todavía necesitan su implementación específica.

## Biblioteca en filas (0.47 · macOS ARM)

La categoría se elige con el selector amarillo y su modal de contadores.
Cada fila muestra miniatura, nombre, estado editorial, rareza, adquisición/precio,
cambios sin guardar y coincidencia con la última sincronización registrada.
Esta última indicación es local: no afirma que el servidor esté conectado ni que
el artículo esté publicado. Los estados heredados del editor anterior no se usan
como prueba de publicación nativa.

Búsqueda por nombre/ID, orden A–Z/Z–A y filtro cíclico por estado, cambios sin guardar
o pendientes de subir. **Editar** abre el editor correspondiente. **…** permite
duplicar como borrador, ver los datos JSON en modo lectura o archivar localmente.
El archivado requiere confirmación, conserva el borrador más reciente y ofrece
**Deshacer archivado** antes de volver al catálogo. No modifica datos remotos.

La columna izquierda distingue guardar borrador, publicar y respaldo automático;
muestra cuenta y contadores locales. F8 abre Cuenta y sincronización y F7 revisa
el catálogo antes de publicar. Ninguna de estas mejoras publica automáticamente.

Validación ARM: `--navigation-smoke` recorre filtros, orden, detalles, duplicado,
archivado/deshacer y los diez editores en un workspace temporal.

## Sesión persistente (0.46 · macOS ARM)

**Recordar sesión en este Mac** está activado por defecto. Tras iniciar sesión una
vez en esta versión, Catalog Studio guarda únicamente el token renovable en el
Llavero de macOS. La contraseña no se guarda en disco ni en la configuración.
Al abrir, verifica la instancia nativa, recupera la sesión y rota el token antes
de entrar al catálogo. Al vencer el acceso, lo renueva antes de sincronizar.
Cerrar la aplicación conserva la sesión; **Cerrar sesión** la borra del equipo
e intenta revocar esa sesión remota, sin cerrar otros dispositivos.

Desmarcar la opción inicia una sesión temporal y elimina la anterior guardada.
Un fallo de red conserva la sesión para reintentar; una sesión revocada vuelve a
pedir el login. Si el Llavero falla, se informa en Cuenta y publicación.
La entrada está separada por proyecto e instancia, con un identificador estable
al actualizar el editor. macOS puede pedir acceso al Llavero si está bloqueado o
cambia la firma de la aplicación. No hay archivo de tokens como alternativa.

Pruebas `--session-test` con credenciales sintéticas; la prueba explícita del
Llavero usa una entrada temporal aislada y comprueba lectura entre procesos.
El login del juego no cambia a persistente en esta entrega.

## Corrección de escritura (0.45.1)

Al escribir en el login, registro y campos de texto del editor, WASD y espacio
ya no ejecutan atajos de menú. Tab avanza una sola vez entre campos y Enter
confirma. Verificado con eventos de texto y teclado combinados contra un servicio
simulado; no se usan credenciales reales en las pruebas.

## Inicio y catálogo unificado (0.45)

Al abrir, aparece **Iniciar sesión**. **Crear una cuenta** abre un formulario separado,
con repetición de contraseña. Después de confirmar el correo se vuelve al login.
Al cerrar sesión, el editor vuelve a bloquear la interfaz. La sesión puede recordarse entre reinicios con la opción del formulario.

El botón amarillo debajo de Catalog Studio abre un modal con las diez categorías y
sus contadores locales: autos, ruedas, cañones, proyectiles, lápidas, nitros,
explosiones, motores, sonidos y packs. La grilla de la derecha permite buscar,
paginar y abrir directamente cada objeto. Volver desde un artículo conserva su
categoría y página. Crear un artículo se hace desde su categoría.

Los correos nuevos usan el destino HTTPS `/auth/confirmed` del servicio nativo.
Site URL y la redirección exacta ya están configurados en Supabase. La página borra
los parámetros de sesión del navegador y pide volver al editor para iniciar sesión.
Se verificaron la configuración y los estados de la página con datos de prueba;
no se creó una cuenta real adicional para probar la entrega de correo.

Pruebas ARM: `--navigation-smoke`, `--smoke`, `--article-smoke` y `--service-test`.

## Scroll y zoom (0.44)

Los paneles se desplazan por píxeles, con transición suave. El visor de autos,
el de artículos y el Garage interpolan el zoom. En macOS se conserva la precisión
fraccionaria del trackpad de SDL, que la lectura entera de MonoGame descartaba.
Arrastrar la barra y enfocar un campo con teclado siguen respondiendo inmediatamente;
editar un parámetro detiene el movimiento pendiente. No cambia la calibración guardada.

Validado en ARM: `--motion-test` (30/60/120 Hz, fracciones, inversión, límites),
`--smoke`, `--article-smoke` (filas parcialmente visibles y entrada recortada) y
`--garage-smoke`. El ajuste fino de sensibilidad se evalúa con el trackpad físico.

## Cuenta y sincronización nativa (0.41)

F8 o **Publicar / Cuenta** abre el panel para ingreso, publicación y borradores
privados. Primero se configura un proyecto Supabase exclusivo de MonoGame; ver
[instalación de servicios](../backend/README.md). En este Mac ya está configurado
Turbo Crown Native. En otro equipo se debe instalar la configuración pública.
Desde 0.51, Guardar borrador guarda directamente en el espacio privado compartido;
Revisar/Confirmar publicación entrega una versión a los jugadores. Los cambios
locales se conservan ante conflictos y fallas de conexión.

## Equipamiento, revisión y adquisición (0.43)

- **Equipamiento** abre un selector por categoría con miniaturas, búsqueda, páginas
  y vista 3D del auto completo. Los siete slots se guardan con el auto.
- **Revisé este equipo** confirma la configuración actual de los autos con valores
  heredados por defecto. Guardá el auto después. Cambiar equipamiento/calibración
  invalida esa revisión; no se aprueban configuraciones automáticamente.
- **F7 / Revisar catálogo** lista pendientes de equipamiento, categorías, miniaturas,
  dependencias, adquisición y revisión de efectos, sin iniciar sesión ni publicar.
- **Adquisición** (Datos) distingue Inicial, Gratuito, Coronas, Recompensa e Incluido
  en pack/auto. Solo Coronas usa el precio para una futura compra y exige precio
  positivo al publicar. Estos son datos de autoría: aún no implementan compras,
  billeteras, propiedad ni acreditación de accesorios en el servidor.
- La preparación online bloquea referencias de categoría incorrecta, dependencias
  sin guardar/publicar, cambios locales sin guardar y revisiones pendientes. No
  sube recursos si la revisión tiene pendientes. Los 2 borradores previos quedan fuera.
- En efectos: 0,25× / 0,5× / 1×, paso de 1/60 s, aislar una capa, encuadrar partículas
  y contador de partículas/pico. Estos controles solo alteran la vista previa.
  **Revisé el efecto y su sonido** registra una revisión del contenido actual;
  cambios posteriores en capas, modelo, audio o vínculos la invalidan. Guardar
  sigue regenerando la miniatura y el recurso nativo.
- El Garage conserva la personalización de cada auto al equipar. Cambiar de auto
  recupera su configuración; **Restaurar fábrica** modifica solo la vista previa
  hasta pulsar Equipar. Salir sin equipar descarta el cambio. La colección por auto
  se conserva localmente; la cuenta remota continúa guardando el equipamiento activo.

Auditoría reproducible (solo lectura del catálogo):

```sh
./monogame/Editor.command --audit-catalog /ruta/al/catalog --report /ruta/informe.json
```

La auditoría del catálogo migrado verificó 23 autos, 107 artículos (incluidos dos
borradores), 316 recursos y cero errores técnicos. Quedan 20 equipos heredados y
24 efectos nativos para revisión de acabado; consultar `../migration/editor-043-audit.json`.

## Autos

La biblioteca permite buscar, abrir, importar GLB y duplicar autos. El calibrador
incluye collider, ambos ejes (posición, altura, separación, radio y ancho), montajes
de cañón/nitro y transformación de carrocería. Cada sección del inspector se pliega;
rueda/barra desplazan el panel, sliders y números admiten coma o punto decimal.

- Arrastrá la escena para girar; botón derecho desplaza; rueda acerca. Hay vistas
  frontal 3/4, frente, lateral, superior y trasera 3/4, además de encuadre.
- Carrocería, ruedas, guías, collider y opacidad se alternan desde las herramientas.
- **Pintura** habilita acabado, tinte RGB, metalizado y rugosidad del renderer nativo.
- **Apoyar en el piso** alinea la carrocería con Y=0; luego ajustá ruedas/collider.
- **Comparar auto** permite elegir una referencia mediante miniaturas y verla al costado
  o superpuesta. La barra del visor cambia el modo o quita la comparación; el clic derecho
  sobre Comparar auto también la oculta.
- **Equipamiento** elige siete artículos de referencia y los conserva en el auto.
- **Duplicar auto** crea una variante local. **Datos del auto** permite nombre,
  descripción, rareza, estado local, precio y archivado. Para editar los datos de un
  auto incluido, duplicalo primero. Sus calibraciones sí pueden editarse directamente.
- **Probar auto** conduce el borrador con la física del juego; Esc/Start vuelve.
- **Guardar auto** genera miniatura PNG 600×408 y guarda perfil + datos juntos.

## Otros artículos

Desde la biblioteca, **Editar todos los artículos** abre ruedas, cañones,
proyectiles, lápidas, nitros, explosiones, motores, sonidos y packs.

1. Elegí categoría y base; **Nuevo** crea una variante editable. Los artículos
   propios se buscan por nombre/ID. Un borrador se recupera al volver a abrirlo.
2. **Modelo** importa GLB y ajusta escala, posición, rotación, tinte y acabado.
   Las ruedas se centran y normalizan con eje X; radio/ancho final se calibran en
   cada auto. El cañón tiene posición de boca XYZ y marcador cian en la vista aislada.
3. **Efecto** edita hasta ocho capas nativas: llama, esfera y anillo; emisión,
   cantidad de explosión, vida, tamaños inicial/final, velocidad, dispersión,
   gravedad, resistencia, opacidad, rotación, posición, colores inicial/final y
   mezcla alfa/aditiva. Presets de fuego, humo, explosión y onda. Pausar/reiniciar,
   acercar y ver sobre el auto permiten inspeccionar el resultado.
4. **Audio** importa WAV PCM o sintetiza ondas con tono, ruido, duración y envolvente.
   Ajusta volumen/velocidad y escucha la muestra. El motor agrega reposo, respuesta
   a velocidad y nitro, con botones de prueba. Sonidos muestra la forma de onda.
   Ruedas usan el canal de derrape; cañones, disparo; lápidas, aparición;
   proyectiles, viaje/impacto; nitros y explosiones, sus respectivos eventos.
5. **Datos** edita descripción, rareza, estado local, precio y sonido vinculado;
   proyectiles admiten además un sonido de impacto distinto. Packs agrupa un auto
   y sus siete categorías. Guardá primero sus componentes.
6. **Guardar artículo** genera una miniatura, prepara modelos/audio y escribe una
   versión local. El juego consume esos mismos datos. La vista previa no genera
   archivos preparados nuevos por cada movimiento de un slider.

Clic en un número abre la entrada exacta; Enter aplica y Esc cancela. Desplazá
el inspector con la rueda. Cmd/Ctrl+S guarda, Cmd/Ctrl+Z deshace y Shift+Cmd/Ctrl+Z
rehace artículos. Arrastrar un slider constituye una acción de deshacer.
Duplicar conserva el diseño con identidad nueva; Descartar recupera el borrador compartido con respaldo previo.
Archivar pide confirmación y bloquea referencias desde otros artículos/autos.
Los guardados archivados quedan en carpetas `trash` o `article-trash`; aún no hay
papelera visual. No se borran sus recursos compartidos.

## Probar en el juego y almacenamiento

Abrí `../Jugar.command`, volvé a entrar al Garage, elegí las piezas o un pack y
pulsá **Equipar cambios**. Se aplican al comenzar una partida offline nueva.
Las partidas abiertas mantienen su equipamiento. Usá juego/editor 0.43 juntos.

En macOS, el espacio local predeterminado es:
`~/Library/Application Support/TurboCrownMonoGame/workspace/vehicles`.
Calibraciones de autos incluidos y `recovery` están allí. En `catalog`:

- `items` / `drafts`: autos propios guardados / borradores.
- `articles` / `article-drafts`: artículos guardados / borradores.
- `assets`: GLB originales, geometría preparada, imágenes y WAV, por hash.
- `trash` / `article-trash`: documentos archivados.

El juego lee solo versiones guardadas. El estado «listo» incluye el artículo al
preparar una publicación; por sí solo no publica ni acredita compras o desbloqueos.
Desde 0.41, F8 / **Publicar · Cuenta** permite conectar una instancia nativa nueva.
Instancia real conectada en este Mac: [servicios nativos](../backend/README.md).
No hay conexión implícita a la base anterior. Para trasladar el contenido,
copiá el espacio completo; las referencias entre artículos deben viajar juntas.

## Formatos y límites actuales

GLB 2.0 estático, triángulos, imágenes PNG/JPEG incluidas; sin Draco/Meshopt,
animaciones, esqueletos o imágenes externas. Audio WAV PCM mono/estéreo 8/16 bits,
8–48 kHz, hasta 20 MB. Síntesis de hasta 8 segundos. Partículas con hasta ocho capas
y presupuesto compartido de 240 partículas activas. El acabado usa los materiales
actuales del juego; todavía no es un renderer PBR con clearcoat/reflejos equivalentes
al Three.js anterior. Editor de mapas y servidor de partidas son bloques
pendientes. La instancia remota está conectada; la cuenta ya tiene permiso de publicación; falta la
primera publicación para verificar el recorrido completo de archivos.
La biblioteca compartida aún depende de MonoGame.

## Corrección de archivado (0.64.1)

Archivar un auto desde sus datos actualiza la lista antes de volver al catálogo.
Evita el cierre cuando archivar un auto migrado vuelve a mostrar su modelo base.
Los archivos archivados siguen conservándose en `trash`; el catálogo online no cambia.
La prueba `--archive-smoke --capture /tmp/editor-archive.png` usa un catálogo temporal
y comprueba confirmación, cancelación, recuperación del modelo base, conservación
de archivos y bloqueo si un pack referencia el auto.

## Volumen de partículas (0.64)

En Partículas, cada capa permite elegir Llama, Esfera, Anillo o Cubo.
**Volumen · Sombreado** va de 0 (color uniforme) a 1 (volumen más marcado).
Las esferas usan un degradado suave; llamas y cubos diferencian sus caras.
El anillo conserva su aspecto de onda energética y no muestra este control.
La mezcla Transparente/Luminosa sigue siendo independiente, en los ajustes avanzados.
Las capas nuevas tienen sombreado 0.7; los efectos anteriores conservan 0 hasta editarlos.
El mismo acabado se usa en la vista previa y en el juego actualizado (0.73 o posterior).

## Validación

```sh
./monogame/Editor.command --self-test
./monogame/Editor.command --import-test
./monogame/Editor.command --article-test
./monogame/Editor.command --article-smoke --capture "$PWD/monogame/artifacts/studio.png"
```

Las pruebas usan carpetas temporales y no modifican la colección personal.
`--workspace /ruta` permite elegir otro espacio de edición.
Empaquetar ARM: `python3 monogame/tools/package-editor-macos.py --rid osx-arm64`.

## Catálogo migrado 0.42

Los 128 artículos publicados de la release 389 están convertidos en documentos
nativos editables. Los originales se conservan en privado y los recursos de juego
se distribuyen desde R2 independiente. [Estado, límites y pasos](../migration/README.md).


### Revisión integral del catálogo

`--capture-catalog --workspace COPIA_AISLADA --capture /ruta/revision.png` recorre el catálogo y genera capturas y un JSON con hashes de los documentos. No inicia sesión ni publica. `--capture-kinds explosion,nitro` limita la revisión visual.

Después de inspeccionar las capturas, una segunda ejecución con `--accept-reviewed-catalog /ruta/aprobados.json` guarda exclusivamente los IDs aprobados que siguen marcados Listo y cuyo hash coincide. Genera miniaturas nativas y registra las revisiones; los borradores nuevos quedan privados. Usar una copia aislada y conservar respaldo antes de trasladar los resultados al espacio de edición.

El ejecutable firmado admite `--publish-reviewed-catalog /ruta/catalog`: recupera la sesión del editor desde el Llavero, exige superar los controles de publicación y publica en la instancia nativa configurada. No acepta credenciales en argumentos ni omite las revisiones pendientes.
# Comprobación de una partida publicada

`./monogame/Editor.command --online-cloud-check wss://HOST:PUERTO/play` ejecuta una partida real de todos contra todos con bots, usando la sesión nativa recordada en el Llavero y un auto permitido con su equipo de fábrica. Verifica autenticación, catálogo, reconexión a la misma partida, confirmación de controles y la fila de recompensa de esa partida en Supabase. Tiene un límite de seis minutos y abandona la sala al terminar.

Esta comprobación acredita la recompensa normal de una partida real; usarla únicamente al validar un servidor autorizado. No recibe ni imprime contraseñas, tokens ni claves de servidor. No sustituye la prueba de dos jugadores desde redes diferentes.
